package com.jy.api.service;

import com.jy.api.domain.Order;
import com.jy.api.domain.StockChangeTransaction;
import com.jy.api.signUpReq.stock.BarAssembleReq;
import com.jy.api.signUpReq.stock.InventoryInReq;
import com.jy.api.signUpReq.stock.StockBarReq;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * Created by lihu on 2018/2/5.
 */
public interface StockTransactionService {


    /**
     * 退单入库
     *
     * @param order
     */
    void refundStockIn(Order order);

    /**
     * 添加仓库库存记录
     */
    void  addStockIn(InventoryInReq in,long receiptId);

    /**
     * 添加仓库出库记录
     */
    void  addStockOut(InventoryInReq inReq,long receiptId);

    /**
     * 添加bar入库记录
     * @param req
     * @param receiptId
     */
    void  addBarIn(StockBarReq req);

    /**
     * 添加bar出库记录
     * @param req
     * @param
     */
    void  addBarOut(StockBarReq req);

    Page<StockChangeTransaction> assembleReq (BarAssembleReq req, Pageable pageable);



}
